// 用于配置项目的路由
import { createRouter,createWebHashHistory } from "vue-router"

// 1、导入需要路由的组件
import PageDoctorManage from "@/pages/secondary_page/PageDoctorManage"
import PageUserManage from "@/pages/secondary_page/PageUserManage"
import PageArticleManage from "@/pages/secondary_page/PageArticleManage"
import PageCommentManage from "@/pages/secondary_page/PageCommentManage"
import PagePatientManage from "@/pages/secondary_page/PagePatientManage"
import PageReservationManage from "@/pages/secondary_page/PageReservationManage"
import PageRequirementTypeManage from "@/pages/secondary_page/PageRequirementTypeManage"

// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
// 我们后面再讨论嵌套路由。
const routes = [
    //主页面 /*默认跳转路由*/
    { path: '/home', component: () => import('@/pages/secondary_page/PageMain')},
    { path: '/', redirect: '/home'},  

    //医师页面
    { path: '/doctor_manage', component: PageDoctorManage},

    //用户页面
    { path: '/users_manage', component: PageUserManage },

    //文章页面
    { path: '/article_manage', component: PageArticleManage },

    //关注医师页面
    { path: '/comment_manage', component: PageCommentManage },

    //就诊人页面
    { path: '/patient_manage', component: PagePatientManage },

    //预约页面
    { path: '/reservation_manage', component: PageReservationManage },

    //服务类型页面
    { path: '/requirement_manage', component: PageRequirementTypeManage },

    // 未定义路由的映射
    { path: '/:pathMatch(.*)*', component: () => import('@/pages/error_page/PageNotFound')}
]

// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置，但我们在这里
// 暂时保持简单
const router = createRouter({
    // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
    history: createWebHashHistory(),
    routes, // `routes: routes` 的缩写
})

//前置路由守卫
// to 到哪里去
// from 从哪里来
// next 下一步（放行）
router.beforeEach((to, from, next) => {
  // console.log("-------------前置路由首位-------------");
  // console.log("to",to);
  // console.log("from",from);
  //--------自己的逻辑---------
  if(to.path == "/user_manage"){
    next("/404");
  }
  next();
})


//暴露router
export default router;